通过rails中的表单发布推特



好吧,所以我很难找到一个表单,我想用它来向我的推特账户发布推文。我正在使用gem"omnauth-twitter"和gem"twitter"。

我的表单没有将其内容发送到products_controller.rb中的Twitter.update(),我不知道为什么。

这是我目前掌握的代码。。。

从我的index.html.erb

<%= form_tag do %>
<fieldset>
    <legend>140 char limit</legend>
    <div>
        <label for="mytweet">mytweet:</label>
        <%= text_field_tag :my_tweet, params[:my_tweet] %>
    </div>
    <div>
        <%= submit_tag "tweet" %>
    </div>
</fieldset>
<% end %>

来自我的产品s_controller.rb

def tweetfunc
if param[:tweet] != nil then
  Twitter.update(param[:tweet])
else
  #TODO display an error message
end

结束

在我的路线内。rb

controller :products do
post 'tweet' => :tweetfunc

结束

有什么想法吗?

检查您发布的index.html.erb:的第一行

<%= form_tag do %>

并输出一个url到你的控制器,如下所示:

<%= form_tag tweet_products_path do %>

你应该没事的。

在控制器中:

Twitter.update(params[:my_tweet]) if params[:my_tweet].present?

除此之外,我强烈建议您遵循REST架构,拥有一个与ActiveModel兼容的Tweet类,并在该类的实例上使用表单生成器助手,即for_for @tweet do |f| ...

最新更新