问题描述
||
这里是非常绿色的问题。我按照http://guides.rubyonrails.org/getting_started.html上的说明构建了一个简单的博客。
如何将另一个字符串变量添加到post对象?
有了新变量后,如何在html.erb文件中创建新帖子?下面的代码为我的\'email \'方法提供了NoMethodError异常。如何使此代码运行无错误?
btw-关于后续问题的stackoverflow约定是什么?
<h2>Add a post:</h2>
<%= form_for([@post,@post.actions.build]) do |f| %>
<div class=\"field\">
<%= f.label :number_performed %><br />
<%= f.text_field :number %>
</div>
<div class=\"field\">
<%= f.label :your_email %><br />
<%= f.text_field :email %>
</div>
<div class=\"actions\">
<%= f.submit %>
</div>
<% end %>
解决方法
至少要获得最低限度的功能,必须在发布表中添加另一列。
请参阅此处,了解如何以编程方式添加列:
http://api.rubyonrails.org/classes/ActiveRecord/Migration.html
或者,您可以像这样运行rails generate migration命令:
rails generate migration AddColumnNameToPost column_name:string
无论走哪条路,请确保运行以下命令以将那些迁移应用于数据库:
rake db:migrate
从那里您可以访问:
@post = Post.new
@post.column_name = \"value\"
#etc
,就像drharris的回答一样:
rails generate migration add_newvariableone_and_newvariabletwo_to_modelpluralname newvariableone:string newvariabletwo:string
它将在db / migrate内部创建ruby文件,其中内容类似于
class AddNewVariableOneAndNewVariableTwoToModelPluralname < ActiveRecord::Migration
def self.up
add_column :modelpluralname,:newvariableone,:string
add_column :modelpluralname,:newvariabletwo,:string
end
def self.down
remove_column :modelpluralname,:newvariableone
remove_column :modelpluralname,:newvariableone
end
end
希望这对您有所帮助
,您应该查看关于迁移的部分。在您的情况下,您将使用类似以下的命令:
rails generate migration AddRandomStringToPost random_string:string