如何将变量添加到rails上的现有模型ruby

时间:2011-04-14 02:53:51

标签: ruby-on-rails ruby

这里非常环保的问题。我按照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 %>

3 个答案:

答案 0 :(得分:17)

至少要获得最低限度的功能,您必须在帖子表中添加另一列。

请参阅此处有关如何按行添加列的信息:

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

答案 1 :(得分:5)

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

希望这有助于你感谢

答案 2 :(得分:0)

您应该查看Migrations上的部分。在您的情况下,您将使用如下命令:

rails generate migration AddRandomStringToPost random_string:string